#ifndef TEXTURE_MANAGER_H
#define TEXTURE_MANAGER_H

#include "SFML/Graphics.hpp"
#include <string>
#include <map>

typedef std::map<std::string, sf::Image> imageList;

class TextureManager
{
    static TextureManager* _instance;
    TextureManager();

public:
    static TextureManager* instance();
    ~TextureManager();

    sf::Image& textureImage(std::string filename);
private:
    sf::Image& _addImage(std::string filename);

    imageList _images;
    imageList::iterator _iterator;

};

#endif // TEXTURE_MANAGER_H
